﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CDSBDemandControl.Model;

namespace CDSBDemandControl.Configuration
{
    [Serializable]
    public class DemandConfig
    {
        public DemandConfig() { }

        #region TFSConfig

        public string ServerName { get; set; }
        public List<string> StatusUnderDevelopment { get; set; }
        public List<string> WorkItemsUnderDevelopment { get; set; }
        public List<string> WorkItemsDeveloped { get; set; }
        public List<string> TeamProjectsSinacor { get; set; }
        public List<string> TeamProjectsIMercado { get; set; }
        public List<string> TeamProjectsDataStorage { get; set; }
        public List<string> TeamProjectsSiteBVMF { get; set; }
        public CDSBNetWorkUser TFSUserAuthenticate { get; set; }

        #endregion

        #region FileConfig

        public string LockFilePath { get; set; }
        public string WIPendingXMLPath { get; set; }
        public string WIOutOfDateXMLPath { get; set; }
        public string AllWIPeriodXMLPath { get; set; }
        public string WIGeraDispXMLPath { get; set; }
        public string GeraAusenciasXMLPath { get; set; }
        public string GeraBugsLastMonthXMLPath { get; set; }
        public string GeraPrevisaoAlocacaoXMLPath { get; set; }
        public string GeraSolicitacoesSitesXMLPath { get; set; }
        public string GeraManagementTeamTasksXMLPath { get; set; }
        public string GeraWIScenariosAndTasksXMLPath { get; set; }
        public string WIWithCodeReviewXMLPath { get; set; }
        public string SerializationPath { get; set; }

        #endregion

        #region CDSBConfig

        public List<DeveloperModel> Contributors { get; set; }

        public List<DateTime> Feriados { get; set; }

        public string ActiveControlUrl { get; set; }
        public string DemandManagerName { get; set; }
        public string LateItemsURL { get; set; }
        public List<string> StatusDeveloped { get; set; }
        public List<string> AllowedUserBilling { get; set; }

        #endregion

        #region LayOutConfig

        public string AttentionIcon { get; set; }
        public string ErrorIcon { get; set; }
        public string AttentionOBS { get; set; }
        public string OKOBS { get; set; }
        public string OKIcon { get; set; }
        public string ErrorOBS { get; set; }
        public int MinutesToRefresh { get; set; }
        public string PlannedStateName { get; set; }
        public string PlannedReasonName { get; set; }

        #endregion
    }
}